iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 24
0

前言

在這一篇,我們將介紹 Recommendations Solution,並且實際測試推薦結果。原先想要介紹 cognitive service Recommendations API,但這幾天赫然發現這個服務在明年初就會關閉,頓時間沒了題材。運氣很好的是,依據官方建議使用 Recommendations Solution 這個專案。簡單瀏覽一下似乎這專案與原先的 Recommendations API 差異不大,似乎只是轉換成專案版本,可提供有興趣的朋友測試。


架構

伺服器架構
Recommendations Solution 這個專案可以直接佈署至 Azure,會產生 Azure Web Application, Azure Storage, 與 Azure Application Insights (通常我會刪掉這個),如下圖所示:

https://d2mxuefqeaa7sj.cloudfront.net/s_80EEC3FA53FC22D51B7243F99ABA8BBC2333E4449428DEA46579BBB71338CA35_1514364075172_image.png

整個推薦解決方案包含了幾個步驟

  1. 目錄與使用資料:定義使用資料並餵入歷史交易資料,我們要將資料放在Azure Storage
  2. 建立 Model 與訓練:建立訓練模組(資料來源與相關設定)並進行訓練
  3. 呼叫推薦資料:顧名思義,推薦客戶想要的商品

資料 - (Catalog and Usage Data )
目錄資料包含提供給客戶的資料格式,檔案格式為csv,內容格式如下:

Item Id Item Name Item Category Description Features list
商品 Id 商品名稱 商品目錄 描述(可省略) 特徵(可省略)

官方提供的範例如下:
https://d2mxuefqeaa7sj.cloudfront.net/s_80EEC3FA53FC22D51B7243F99ABA8BBC2333E4449428DEA46579BBB71338CA35_1514370571311_image.png

使用資料即為實際交易資料,檔案格式為 csv,內容格式如下:

User Id Item Id Time Event Type Custom Event Weight
使用者 Id 商品 Id 時間 交易類型 *only used in model evaluation *used only if Custom Event Weight is not provided. 交易權重 *only used in model evaluation *if provided, Event Type will be ignored.

官方提供的範例如下:

https://d2mxuefqeaa7sj.cloudfront.net/s_80EEC3FA53FC22D51B7243F99ABA8BBC2333E4449428DEA46579BBB71338CA35_1514371755570_image.png

官方的經驗為交易數量為商品數量20倍為不錯的數據,意思是你有 20項商品的時候,應該要有400 交易資料。但你仍然要試驗自己的最佳數據。

演算法 - Smart Adaptive Recommendations (SAR) Algorithm
在上一章節,我們有提到協同過濾 (Collaborative Filtering) 推薦方法,SAR 也是協同過濾方法之一,而此演算法主要會建立兩種矩正,藉此紀錄關聯性並進行推薦。

  • 商品-使用者矩陣:紀錄使用者點閱與購買次數,依據權重不同做計算。
  • 商品-商品矩陣:主要紀錄商品在那些資料出現的次數,並透過數學計算同時出現相關機率。

推薦計算方法則有兩種:

  • 使用者推薦:依據過往使用者交易紀錄,推薦物品給不同的使用者。
  • 同時出現推薦:推薦相似度高的商品

詳細計算內容不在贅述,若有興趣請見:https://github.com/Microsoft/Product-Recommendations/blob/master/doc/sar.md

API
很貼心的在你佈署完專案後,專案內附加 swagger 服務,讓你使用 API 與測試更加方便

https://d2mxuefqeaa7sj.cloudfront.net/s_80EEC3FA53FC22D51B7243F99ABA8BBC2333E4449428DEA46579BBB71338CA35_1514364130276_image.png


參考資料

  1. Smart Adaptive Recommendations (SAR) Algorithm - https://github.com/Microsoft/Product-Recommendations/blob/master/doc/sar.md
  2. Product-Recommendations - https://github.com/Microsoft/Product-Recommendations/blob/master/doc/api-reference.md#catalog-file-schema

上一篇
23. 資料探勘與推薦系統概述
下一篇
25. Recommendations Solution (2) - 建置與佈署
系列文
利用 MS Bot framework 與 Cognitive Service 建構自用智慧小秘書31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言